When a server is sending a large amount of data to a client, some form of flow control is required to avoid unbounded accumulation of data in buffers at some point in the system. Transmission Control Protocol (TCP) uses the general idea of a credit or reservation scheme, where the data consumer (e.g. the client) provides the server with credits for transmitting data.